home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / kernel / sprite / Makefile.sun4c2 < prev    next >
Encoding:
Makefile  |  1991-08-23  |  10.1 KB  |  413 lines

  1. #
  2. # $Header: /sprite/src/kernel/sprite/RCS/Makefile,v 1.44 91/08/23 14:52:45 shirriff Exp Locker: mendel $ SPRITE (Berkeley)
  3. #
  4. # No mkmf
  5. #
  6. LD = /sprite/cmds.${MACHINE}/ld
  7.  
  8. # don't use TM, because that is set explicitly by the environment in some cases
  9. # and then we can't override it.  But set it by default to the current machine
  10. # type.
  11.  
  12. TM          ?= $(MACHINE)
  13.  
  14. #if make(sun3) || make(profile3)
  15. RTM = sun3
  16. MTFLAGS = -msun3
  17. #endif
  18. #ifmake ds3100
  19. RTM = ds3100
  20. MTFLAGS =
  21. #endif
  22. #ifmake ds5000
  23. RTM = ds5000
  24. MTFLAGS =
  25. #endif
  26. #ifmake sun4
  27. RTM = sun4
  28. MTFLAGS = -msun4
  29. #endif
  30. #ifmake sun4c
  31. RTM = sun4c
  32. MTFLAGS = -msun4
  33. #endif
  34. #ifmake sun4c2
  35. RTM = sun4c2
  36. MTFLAGS = -msun4
  37. #endif
  38.  
  39. #if !empty(TM)
  40. RTM ?= $(TM)
  41. #else
  42. RTM ?= $(MACHINE)
  43. #endif
  44.  
  45. MODULE = sprite
  46. SPRITEDIR =    /sprite/src/kernel
  47. USERH=        /sprite/lib/include
  48. H =        ${SPRITEDIR}/Include
  49. INSTALLED =    {SPRITEDIR}/Installed/${MODULE}
  50. LIB =        ${SPRITEDIR}/${RTM}.md
  51. PROFD =    ${SPRITEDIR}/Profiled/${RTM}.md
  52. ODIR =        ${RTM}.md
  53. IFLAGS=    -I. -I${H} -I${USERH} -I${USERH}/${RTM}.md -I${H}/${RTM}.md
  54. #PROFILE =    -p -DPROFILE
  55. PROFILE =
  56. CFLAGS =    ${MTFLAGS} -g -DKERNEL ${PROFILE} ${IFLAGS}
  57. LINTFLAGS =    -I. -I${H}
  58. LINTLIBS =    ${LINT}/*.ln
  59. DISTDIR     ?= /dist/sprite/src/kernel/sprite
  60.  
  61. # symbol looked for by 'make nm'
  62. NM = mcount
  63.  
  64. UPDATE = /sprite/cmds.${MACHINE}/update
  65. TEST = /sprite/cmds.${MACHINE}/test
  66. MKVERSION = /sprite/cmds.${MACHINE}/mkversion
  67. RELEASE = 1
  68. NEWVERSION ?= TRUE
  69.  
  70. GINGER = ginger.Berkeley.EDU
  71. ENVY = envy.Berkeley.EDU
  72.  
  73. #
  74. #  Unprofiled object files
  75. #
  76.  
  77. #
  78. # For tracing undefined symbols
  79. TRACE =
  80.  
  81. #
  82. #  Uninstalled object files
  83. #
  84. TOP = ${SPRITEDIR}
  85.  
  86. MACH = ${TOP}/mach/${ODIR}
  87. DBG = ${TOP}/dbg/${ODIR}
  88. DEV = ${TOP}/dev/${ODIR}
  89. FS = ${TOP}/fs/${ODIR}
  90. FSCACHE = ${TOP}/fscache/${ODIR}
  91. FSCONSIST = ${TOP}/fsconsist/${ODIR}
  92. FSDM = ${TOP}/fsdm/${ODIR}
  93. FSIO = ${TOP}/fsio/${ODIR}
  94. FSLCL = ${TOP}/fslcl/${ODIR}
  95. FSPDEV = ${TOP}/fspdev/${ODIR}
  96. FSPREFIX = ${TOP}/fsprefix/${ODIR}
  97. FSRMT = ${TOP}/fsrmt/${ODIR}
  98. FSUTIL = ${TOP}/fsutil/${ODIR}
  99. HOOK = mainHook.o
  100. LFS = ${TOP}/lfs/${ODIR}
  101. LIBC = ${TOP}/libc/${ODIR}
  102. MAIN = ${TOP}/main/${ODIR}
  103. NET = ${TOP}/net/${ODIR}
  104. OFS = ${TOP}/ofs/${ODIR}
  105. PROC = ${TOP}/proc/${ODIR}
  106. PROF = ${TOP}/prof/${ODIR}
  107. RAID = ${TOP}/raid/${ODIR}
  108. RAIDNULL = ${TOP}/raid.null/${ODIR}
  109. RECOV = ${TOP}/recov/${ODIR}
  110. RPC = ${TOP}/rpc/${ODIR}
  111. SCHED = ${TOP}/sched/${ODIR}
  112. SIG = ${TOP}/sig/${ODIR}
  113. SYNC = ${TOP}/sync/${ODIR}
  114. SYS = ${TOP}/sys/${ODIR}
  115. TIMER = ${TOP}/timer/${ODIR}
  116. UTILS = ${TOP}/utils/${ODIR}
  117. VM = ${TOP}/vm/${ODIR}
  118. MEM = ${TOP}/mem/${ODIR}
  119. LIBC = ${TOP}/libc/${ODIR}
  120.  
  121. # This is the list of objects excluding raid.
  122.  
  123. INSTALLED_OBJS = \
  124.         ${LIB}/mach.o \
  125.     ${HOOK} \
  126.     ${LIB}/dbg.o \
  127.     ${LIB}/dev.o \
  128.     ${LIB}/fs.o \
  129.         ${LIB}/fsdm.o  \
  130.         ${LIB}/fscache.o  \
  131.         ${LIB}/fsconsist.o \
  132.         ${LIB}/fsio.o \
  133.         ${LIB}/fslcl.o \
  134.         ${LIB}/fspdev.o \
  135.         ${LIB}/fsprefix.o \
  136.         ${LIB}/fsrmt.o \
  137.         ${LIB}/fsutil.o \
  138.     ${LIB}/lfs.o \
  139.     ${LIB}/libc.o \
  140.     ${LIB}/main.o \
  141.     ${LIB}/mem.o \
  142.     ${LIB}/net.o \
  143.     ${LIB}/ofs.o \
  144.     ${LIB}/proc.o \
  145.     ${LIB}/prof.o \
  146.     ${LIB}/recov.o \
  147.     ${LIB}/rpc.o \
  148.     ${LIB}/sched.o \
  149.     ${LIB}/sig.o \
  150.     ${LIB}/sync.o \
  151.     ${LIB}/sys.o \
  152.     ${LIB}/timer.o \
  153.     ${LIB}/utils.o \
  154.     ${LIB}/vm.o
  155.  
  156. UNINSTALLED_OBJS =    \
  157.         ${MACH}/mach.o \
  158.     ${HOOK} \
  159.     ${DBG}/dbg.o \
  160.     ${DEV}/dev.o \
  161.     ${FS}/fs.o \
  162.         ${FSDM}/fsdm.o  \
  163.         ${FSCACHE}/fscache.o  \
  164.         ${FSCONSIST}/fsconsist.o \
  165.         ${FSIO}/fsio.o \
  166.         ${FSLCL}/fslcl.o \
  167.         ${FSPDEV}/fspdev.o \
  168.         ${FSPREFIX}/fsprefix.o \
  169.         ${FSRMT}/fsrmt.o \
  170.         ${FSUTIL}/fsutil.o \
  171.     ${LFS}/lfs.o \
  172.     ${LIBC}/libc.o \
  173.     ${MAIN}/main.o \
  174.     ${MEM}/mem.o \
  175.     ${NET}/net.o \
  176.     ${OFS}/ofs.o \
  177.     ${PROC}/proc.o \
  178.     ${PROF}/prof.o \
  179.     ${RECOV}/recov.o \
  180.     ${RPC}/rpc.o \
  181.     ${SCHED}/sched.o \
  182.     ${SIG}/sig.o \
  183.     ${SYNC}/sync.o \
  184.     ${SYS}/sys.o \
  185.     ${TIMER}/timer.o \
  186.     ${UTILS}/utils.o \
  187.     ${VM}/vm.o
  188.  
  189. # sun4 should use the raid module.  Others should use raid.null.
  190.  
  191. #OBJS =    ${INSTALLED_OBJS} \
  192. #    ${LIB}/raid.null.o
  193.  
  194. OBJS =    ${UNINSTALLED_OBJS} ${RAIDNULL}/raid.null.o
  195.  
  196. OBJS_SUN4 =    ${INSTALLED_OBJS} \
  197.     ${LIB}/raid.o
  198.  
  199. #OBJS_SUN4 =    ${UNINSTALLED_OBJS} \
  200. #    ${RAID}/raid.o
  201.  
  202. #
  203. # Profiled (perhaps) object files    ####################################
  204. #
  205.  
  206. PROFOBJS= ${LIB}/dbg.o    ${PROFD}/fs.o    ${LIB}/prof.o \
  207.     ${PROFD}/dev.o    ${PROFD}/net.o    ${PROFD}/sig.o \
  208.     ${PROFD}/main.o    ${HOOK}    \
  209.     ${PROFD}/mem.o    ${PROFD}/proc.o    ${PROFD}/rpc.o \
  210.     ${PROFD}/sched.o \
  211.     ${PROFD}/timer.o ${PROFD}/sync.o    ${PROFD}/utils.o \
  212.     ${PROFD}/vm.o \
  213.     ${PROFD}/sun.o    ${PROFD}/sys.o ${PROFD}/libc
  214.  
  215. ###############################################################################
  216.  
  217. ALLSRCS= Makefile version.c
  218.  
  219. HDRS = sprite.h
  220.  
  221. DISTFILES ?= Save SnapshotSources doversion mainHook.c \
  222.              porting_comments version.h.template
  223.  
  224. default: ${RTM}
  225.  
  226. dist:
  227. #if defined(DISTDIR) && !empty(DISTDIR)
  228.     for i in $(ALLSRCS) $(HDRS) $(DISTFILES)
  229.     do
  230.     if $(TEST) -e $${i}; then
  231.         $(UPDATE)  $${i} $(DISTDIR)/$${i} ;else true; fi
  232.     done
  233. #endif
  234.  
  235. .BEGIN: 
  236.     doversion ${RELEASE} ${NEWVERSION} version.h.template
  237.     SnapshotSources `awk '{print $5;}' version.h.template`
  238.  
  239. #sun2: ${OBJS} Makefile .PRECIOUS .NOEXPORT
  240. #    rm -f $@ version.o
  241. #    rm -f mainHook.o
  242. #    cc -c ${CFLAGS} mainHook.c
  243. #    ${MKVERSION} -p "SPRITE VERSION 1.0 (Sun2)" > version.h
  244. #    cc -c ${CFLAGS} version.c
  245. #    ${LD} -X -o $@ -e start -T 804000 ${OBJS} version.o \
  246. #        -L/sprite/lib/${RTM}.md ${LIBOLD} ${LIBNET}
  247. #    @ls -l $@
  248. #    @size $@
  249. #    update -f -s $@ /sprite/boot/$@.sprite
  250. #    rcp /sprite/boot/$@.sprite ${ENVY}:/bnf2/sprite/sun2.new
  251. #    nm -n $@  > $@.nm
  252.  
  253. sun3: ${OBJS} Makefile .PRECIOUS .NOEXPORT
  254.     sed 's/MACHINE/$@/g' version.h.template > version.h
  255.     cat version.h >> $@.versionLog
  256.     -Save $@
  257.     rm -f mainHook.o
  258.     cc -c ${CFLAGS} mainHook.c
  259.     cc -c ${CFLAGS} version.c
  260.     ${LD} -X -msun3 -o $@ -e start -T e004000 ${OBJS} version.o \
  261.         -L/sprite/lib/${RTM}.md
  262.     @ls -l $@
  263.     @size $@
  264.     update -f -s sun3 /sprite/boot/sun3.md/new
  265.     rcp /sprite/boot/sun3.md/new ${GINGER}:/tftpboot/sun3.md/new
  266.     #rcp sun3 ginger:/home/ginger/sprite/kernels/sun3.sprite
  267.     #rsh ginger -n "(cd /home/ginger/sprite/kernels ; ./Save sun3.sprite)"
  268.     nm -n sun3 > sun3.nm
  269.     -Save sun3
  270.  
  271. sun4: ${OBJS_SUN4} Makefile .PRECIOUS .NOEXPORT
  272.     sed 's/MACHINE/$@/g' version.h.template > version.h
  273.     cat version.h >> $@.versionLog
  274.     -Save $@
  275.     rm -f mainHook.o
  276.     cc -c ${CFLAGS} -Dsun4 mainHook.c
  277.     cc -c ${CFLAGS} -Dsun4 version.c
  278.     ${LD} -X -msun4 -o $@ -e start -T f6004020 ${OBJS_SUN4} version.o \
  279.         -L/sprite/lib/${RTM}.md
  280.     @ls -l $@
  281.     @size $@
  282.     update -f -s sun4 /sprite/boot/sun4.md/new
  283.     rcp /sprite/boot/sun4.md/new ${GINGER}:/tftpboot/sun4.md/new
  284.     rcp sun4 ginger:/home/ginger/sprite/kernels/sun4.sprite
  285.     rsh ginger -n "(cd /home/ginger/sprite/kernels ; ./Save sun4.sprite)"
  286.     nm -n sun4 > sun4.nm
  287.     update -f sun4 /allspiceA/new
  288.     strip /allspiceA/new
  289.     -Save sun4
  290.  
  291. sun4c: ${OBJS} Makefile .PRECIOUS .NOEXPORT
  292.     sed 's/MACHINE/$@/g' version.h.template > version.h
  293.     cat version.h >> $@.versionLog
  294.     -Save $@
  295.     rm -f mainHook.o
  296.     cc -c ${CFLAGS} -Dsun4 -Dsun4c mainHook.c
  297.     cc -c ${CFLAGS} -Dsun4 -Dsun4c version.c
  298.     ${LD} -X -msun4 -o $@ -e start -T f6004000 ${OBJS} version.o \
  299.         -L/sprite/lib/sun4.md
  300.     @ls -l $@
  301.     @size $@
  302.     update -f -s sun4c /sprite/boot/sun4c.md/new
  303.     #rcp sun4c ginger:/home/ginger/sprite/kernels/sun4c.sprite
  304.     #rsh ginger -n "(cd /home/ginger/sprite/kernels ; ./Save sun4c.sprite)"
  305.     nm -n sun4c > sun4c.nm
  306.     -Save sun4c
  307.  
  308. sun4c2: ${OBJS} Makefile .PRECIOUS .NOEXPORT
  309.     sed 's/MACHINE/$@/g' version.h.template > version.h
  310.     cat version.h >> $@.versionLog
  311.     -Save $@
  312.     rm -f mainHook.o
  313.     cc -c ${CFLAGS} -Dsun4 -Dsun4c mainHook.c
  314.     cc -c ${CFLAGS} -Dsun4 -Dsun4c version.c
  315.     ${LD} -X -msun4 -o $@ -e start -T f6004000 ${OBJS} version.o \
  316.         -L/sprite/lib/sun4.md
  317.     @ls -l $@
  318.     @size $@
  319.     update -f -s sun4c2 /sprite/boot/sun4c2.md/new
  320.     nm -n sun4c2 > sun4c2.nm
  321.     -Save sun4c2
  322.  
  323. ds3100: ${OBJS} .PRECIOUS .NOEXPORT
  324.     sed 's/MACHINE/$@/g' version.h.template > version.h
  325.     cat version.h >> $@.versionLog
  326.     -Save $@
  327.     rm -f mainHook.o
  328.     cc -c ${CFLAGS} mainHook.c
  329.     @cc -c ${CFLAGS} version.c
  330.     ${LD} -N -o ds3100 -e start -T 80030000 ${OBJS} version.o \
  331.         -L/sprite/lib/${RTM}.md
  332.     @ls -l $@
  333.     @size $@
  334.     update -f ds3100 /sprite/boot/ds3100.md/new
  335.     strip /sprite/boot/ds3100.md/new
  336.     rm -f ds3100.nm
  337.     nm -n ds3100 > ds3100.nm
  338.     #rcp /sprite/src/kernel/sprite/ds3100 ginger:/home/ginger/sprite/kernels/ds3100
  339.     #rsh ginger -n "(cd /home/ginger/sprite/kernels; Save ds3100)"
  340.     update -f ds3100 /assaultA/new
  341.     strip /assaultA/new
  342.     -Save ds3100
  343.  
  344. ds5000: ${OBJS} .PRECIOUS .NOEXPORT
  345.     sed 's/MACHINE/$@/g' version.h.template > version.h
  346.     cat version.h >> $@.versionLog
  347.     -Save $@
  348.     rm -f mainHook.o
  349.     cc -c ${CFLAGS} mainHook.c
  350.     @cc -c ${CFLAGS} version.c
  351.     ${LD} -N -o ds5000 -e start -T 80030000 ${OBJS} version.o \
  352.         -L/sprite/lib/${RTM}.md
  353.     @ls -l $@
  354.     @size $@
  355.     update -f ds5000 /sprite/boot/ds5000.md/new
  356.     strip /sprite/boot/ds5000.md/new
  357.     rm -f ds5000.nm
  358.     nm -n ds5000 > ds5000.nm
  359.     #rcp /sprite/src/kernel/sprite/ds5000 ginger:/home/ginger/sprite/kernels/ds5000
  360.     #rsh ginger -n "(cd /home/ginger/sprite/kernels; Save ds5000)"
  361.     -Save ds5000
  362.  
  363. # profile2: ${PROFOBJS} Makefile .PRECIOUS
  364. #    sed 's/MACHINE/$@/g' version.h.template > version.h
  365. #    cat version.h >> $@.versionLog
  366. #    rm -f $@
  367. #    rm -f mainHook.o
  368. #    cc -c ${CFLAGS} mainHook.c
  369. #    @cc -c ${CFLAGS} version.c
  370. #    ${LD} -msun2 -X -o $@ -e start -T 804000 ${PROFOBJS} version.o \
  371. #        -L/sprite/lib/${RTM}.md ${LIBOLD} ${LIBNET}
  372. #    @ls -l $@
  373. #    @size $@
  374. #    update -f -s $@ /sprite/boot/$@.sprite
  375. #    rcp /sprite/boot/$@.sprite ${ENVY}:/bnf2/sprite/sun2
  376. #    nm -n $@ > $@.nm
  377.  
  378. profile3: ${PROFOBJS} Makefile .PRECIOUS
  379.     sed 's/MACHINE/$@/g' version.h.template > version.h
  380.     cat version.h >> $@.versionLog
  381.     rm -f $@
  382.     rm -f mainHook.o
  383.     cc -c ${CFLAGS} mainHook.c
  384.     @cc -c ${CFLAGS} version.c
  385.     ${LD} -msun3 -X -o $@ -e start -T e004000 ${PROFOBJS} version.o \
  386.         -L/sprite/lib/${RTM}.md
  387.     @ls -l $@
  388.     @size $@
  389.     update -f -s $@ /sprite/boot/sun3.md/prof
  390.     rcp /sprite/boot/sun3.md/prof ${GINGER}:/tftpboot/tmp/$@
  391.     nm -n $@ > $@.nm
  392.  
  393. nm: ${OBJS}
  394.     ./NM ${NM} ${OBJS}
  395.  
  396. clean:
  397.     rm *.o sun2 sun3
  398.  
  399. # install: installhdrs /bnf/sprite/sprite
  400.  
  401. # installhdrs:
  402. #     @${UPDATE} ${HDRS} ${H}
  403. #     @${UPDATE} ${HDRS} ${INSTALLED}
  404.  
  405. .c.o:
  406.     rm -f $*.o
  407.     ${CC} ${CFLAGS} -c $*.c
  408.  
  409.  
  410.  
  411. mainHook.o: ${H}/proc.h ${H}/fs.h
  412. # DO NOT DELETE THIS LINE -- make depend depends on it.
  413.